ERROR in build.js from UglifyJs Unexpected token operator «=», expected punc «,» 您所在的位置:网站首页 已解决ERROR in staticjsxxjs from UglifyJs ERROR in build.js from UglifyJs Unexpected token operator «=», expected punc «,»

ERROR in build.js from UglifyJs Unexpected token operator «=», expected punc «,»

2023-09-17 13:56| 来源: 网络整理| 查看: 265

最近在做vue项目,用的 webpack-simple 模板。开发过程中都没有问题。当打包上线的时候出现问题了。也就是运行

npm run build //这个大家都知道是上线时打包用的,会把代码压缩。 复制代码

提示了如下错误

ERROR in build.js from UglifyJs Unexpected token operator «=», expected punc «,» [./node_modules/quill-image-extend-module/index.js:12,0][build.js:76527,35] 复制代码

从网上找了一大圈都没有能解决掉(伤心),有说配置babel的presets。我这个用的是模板默认配置肯定是没有问题的(pass)。也有说是webpack压缩器new webpack.optimize.UglifyJsPlugin的问题,让从新安装uglifyjs-webpack-plugin,经过尝试也没有能解决掉问题。 不过也不是没有任何收获,经过反复百度发现,其实最终的问题是es6的问题,weback默认的webpack.optimize.UglifyJsPlugin不能压缩es6的代码文件。顺着这个思路只要我们把es6的代码用babel转换成es5即可。 可是我用的是默认的模板,babel都是配置好的,问题出在了哪里呢。原因肯定还是在webpack.config.js上。经过反复观测发现。问题出现在了loader配置上,loader上有一项是配置js文件转换的。

{ test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/, } 复制代码

上面的配置exclude: /node_modules/。这一项排除了/node_modules,也就说是这项配置在用loader转化es5的时候不对node_modules下的引用进行es5转换。 看上面的报错信息,我项目中引用了/node_modules/quill-image-extend-module/index.js。根据exclude: /node_modules/,这个配置打包的时候是不会对这个文件进行es5转码。而webpack.optimize.UglifyJsPlugin不能压缩es6语法的文件,所以就报错了。 知道问题所在,那么就好解决了。代码如下

{ test: /\.js$/, loader: 'babel-loader', //exclude: /node_modules/, //只要把这个注释掉就可以了。就会先进行es5转换,然后在打包压缩 } 复制代码

再次运行 npm run build 不在报错。正常编译成功了。 我们在项目开发中会经常引用第三方插件,所以我觉得这项配置可以直接去掉。避免麻烦发生。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有